The present invention relates to rule-based data processing apparatuses and in particular to the generation of compound agents and the provision of mechanisms for interaction between such compound agents.
The construction and operation of both simple and complex groupings of rule-based software agents and data processing systems supporting them will be understood by those of ordinary skill in the art. Further description of various features and functions of agent-based systems, particularly (but not limited to) those supporting the real-time agent behaviour language RTA may be found in the following commonly-assigned published cases: European patent EP-B-0,397,259 U.S. Pat. No. 5,418,887 and European (PCT) patent applications EP-A-0,704,077 (IB95/00192), EP-A-0,722,592 (IB95/00515) and EP-A-0,724,751 (IB95/00516).
The general idea of constructing a complex agent (hereinafter a compound agent) from a large number of relatively simpler similar agents (hereinafter component agents) is analogous to the arrangement of "knowledge trees" as put forward by Marvin Minsky in "The Society of Mind", published by William Heinemann, 1987, ISBN 0 434 46758 8. Each of the ideas or concepts (which Minsky also refers to as "agents") at the various hierarchical levels of the tree is joined to agents in the levels above or below by Knowledge- or K-lines. In two papers by P. R. Wavish and M. Graham ("A Situated Action Approach to Implementing Characters in Computer Games", Applied Al Journal, Vol. 10, no. 1, Jan/Feb 1996; and "Roles, Skills and Behaviour: a Situated Action Approach to Organising Systems of Interacting Agents", in "Intelligent Agents", edited by M. J. Wooldridge and N. R. Jennings, Lecture Notes in Artificial Intelligence 890, Springer-Verlag, 1995) there is described a way of constructing compound agents by designing organisations in terms of roles, and then implementing compound agents capable of performing the roles. The roles and skills of the compound agent are coded as autonomous agents, but these generally have little interaction with each other, and the compound agents have no planning capability.
The standard artificial intelligence approach to action generation is to plan a sequence of actions (or more generally, a graph of possible actions at some level of abstraction) and then to execute this sequence or graph. This approach has various problems associated with it. Firstly, the agent needs to maintain an internal model of its environment; searching for a valid plan is computationally expensive with that plan being based on a model of the agent's environment which is liable to be inaccurate and become out of date. Additionally, replanning is necessary when the plan fails because of some unanticipated contingency.